Accessories for mobile equipment are becoming more and more intelligent as usage of new functionality is enabled. Technologies such as Java are providing ways to partly separate accessory development from terminal development and to create flexible platform solutions.
Problems arise with respect to software for an accessory. When an accessory is plugged into a mobile terminal, typical accessories require from ten to a hundred kilobits memory to be available, which increases the cost of the accessory. In the case that the application code and drivers are integrated into the accessory device, the cost of memory is embedded into the bill of materials (BOM) for the accessory. Also, there are always application updates during the product lifetime—an application update for an accessory device requires either re-flashing of the accessory at the point of service, or is impossible (in the case of ROM code). The term “application” refers herein to application code and/or driver software for the accessory device.
As an alternative, coding the accessory software in the terminal, instead of in the accessory, has its own problems. For example, there is no way to support a new accessory in an old terminal. Also, for even an old accessory, software updates are no easier than if the software were integrated with the accessory device.
Hardware platforms including—for example—a selection of different sensors will be available in a few years. This type of device allows an application developer to use the hardware platform as an enabler, and the application can be whatever is invented for that particular platform. The same hardware can be used with several different applications, and functionality is not limited to a fixed application code, as is the case with existing products in accessory devices. Therefore, installation and updating of applications will become increasingly problematic in the future, without new approaches. For example, even if an accessory device is able to be integrated with one application does not mean that it can store additional applications as well.